import {Rentalable, WithId} from '@/store/modules/types/Bundle'

export interface AssetStock extends Rentalable{
  product_model_number: string;
  description: string;
  init_quantity: number;
  available_quantity?: number;
  total_quantity?: number;
  checkout_quantity?: number;
  marking_price_per_unit: number;
  bid_price_per_unit: number;
  category_id: number | null;
  sub_category_id: number | null;
  affiliation_id: number | null;
  brand_id: number | null;
  keeper_id: number | null;
  location_id: number | null;
  vendor_id: number | null;
  created_at?: Date;
  updated_at?: Date;
  deleted_at?: null;
  affiliation?: Affiliation;
  category?: Category;
  sub_category?: Category;
  brand?: Brand;
  keeper?: Affiliation;
  location?: Location;
  vendor?: Vendor;
}

export interface Affiliation {
  id: number;
  name: string;
  description: null;
  phone?: null;
}

export interface Brand {
  id: number;
  name: string;
}

export interface Category {
  id: number;
  name: string;
  parent_id: number | null;
  is_primary: boolean;
}

export interface Location {
  id: number;
  name: string;
  address: string;
}

export interface Vendor {
  id: number;
  name: string;
  description: string;
  address: string;
  fax: string;
  email: string;
  contact_person_name: string;
  phone: string;
}

export interface AssetStockChangeHistory {
  id: number | null;
  action_id: number | null;
  asset_stock_id: number | null;
  comment: string | null;
  quantity: number | 0;
  user_id: number | null;
  created_at?: Date;
  updated_at?: Date;
  deleted_at?: Date;
}

export interface AssetStockChangeHistoryAction {
  id: number;
  name: string;
  created_at: Date;
  updated_at: Date;
}
